	.text

fib:
begin_func_fib:
begin_block_0:
	lw $t0, 0($sp)
	li $t1, 0
	sle $t0, $t0, $t1
	move $s0, $t0
	bne $s0, $zero, begin_if_0
	beq $s0, $zero, begin_else_0
begin_if_0:
begin_block_1:
	li $t0, 1
	move $v0, $t0
	b end_func_fib
	addi $sp, $sp, 0
end_block_1:
	b end_if_0
begin_else_0:
begin_block_2:
	addi $sp, $sp, -32
	sw $t0, 0($sp)
	sw $t1, 4($sp)
	sw $t2, 8($sp)
	sw $t3, 12($sp)
	sw $t4, 16($sp)
	sw $t5, 20($sp)
	sw $t6, 24($sp)
	sw $t7, 28($sp)
	addi $sp, $sp, -8
	sw $fp, 4($sp)
	sw $ra, 0($sp)
	la $fp, 0($sp)
	lw $t0, 40($sp)
	li $t1, 1
	sub $t0, $t0, $t1
	addi $sp, $sp, -4
	sw $t0, 0($sp)
	jal fib
	la $sp, 0($fp)
	lw $fp, 4($sp)
	lw $ra, 0($sp)
	addi $sp, $sp, 8
	lw $t0, 0($sp)
	lw $t1, 4($sp)
	lw $t2, 8($sp)
	lw $t3, 12($sp)
	lw $t4, 16($sp)
	lw $t5, 20($sp)
	lw $t6, 24($sp)
	lw $t7, 28($sp)
	addi $sp, $sp, 32
	move $t0, $v0
	addi $sp, $sp, -32
	sw $t0, 0($sp)
	sw $t1, 4($sp)
	sw $t2, 8($sp)
	sw $t3, 12($sp)
	sw $t4, 16($sp)
	sw $t5, 20($sp)
	sw $t6, 24($sp)
	sw $t7, 28($sp)
	addi $sp, $sp, -8
	sw $fp, 4($sp)
	sw $ra, 0($sp)
	la $fp, 0($sp)
	lw $t1, 40($sp)
	li $t2, 2
	sub $t1, $t1, $t2
	addi $sp, $sp, -4
	sw $t1, 0($sp)
	jal fib
	la $sp, 0($fp)
	lw $fp, 4($sp)
	lw $ra, 0($sp)
	addi $sp, $sp, 8
	lw $t0, 0($sp)
	lw $t1, 4($sp)
	lw $t2, 8($sp)
	lw $t3, 12($sp)
	lw $t4, 16($sp)
	lw $t5, 20($sp)
	lw $t6, 24($sp)
	lw $t7, 28($sp)
	addi $sp, $sp, 32
	move $t1, $v0
	add $t0, $t0, $t1
	move $v0, $t0
	b end_func_fib
	addi $sp, $sp, 0
end_block_2:
	b end_if_0
end_if_0:
	addi $sp, $sp, 0
end_block_0:
end_func_fib:
	jr $ra

main:
begin_func_main:
begin_block_3:
	addi $sp, $sp, -4 	# int i
	li $t0, 0
	sw $t0, 0($sp)
for_cond_0:
begin_block_for_cond_0:
	lw $t0, 0($sp)
	li $t1, 10
	slt $t0, $t0, $t1
	move $s0, $t0
	addi $sp, $sp, 0
end_block_for_cond_0:
	bne $s0, $zero, for_body_0
	beq $s0, $zero, for_end_0
for_inc_0:
begin_block_for_inc_0:
	lw $t0, 0($sp)
	li $t1, 1
	add $t0, $t0, $t1
	sw $t0, 0($sp)
	addi $sp, $sp, 0
end_block_for_inc_0:
	b for_cond_0
for_body_0:
begin_block_4:
	addi $sp, $sp, -32
	sw $t0, 0($sp)
	sw $t1, 4($sp)
	sw $t2, 8($sp)
	sw $t3, 12($sp)
	sw $t4, 16($sp)
	sw $t5, 20($sp)
	sw $t6, 24($sp)
	sw $t7, 28($sp)
	addi $sp, $sp, -8
	sw $fp, 4($sp)
	sw $ra, 0($sp)
	la $fp, 0($sp)
	lw $t0, 40($sp)
	addi $sp, $sp, -4
	sw $t0, 0($sp)
	jal fib
	la $sp, 0($fp)
	lw $fp, 4($sp)
	lw $ra, 0($sp)
	addi $sp, $sp, 8
	lw $t0, 0($sp)
	lw $t1, 4($sp)
	lw $t2, 8($sp)
	lw $t3, 12($sp)
	lw $t4, 16($sp)
	lw $t5, 20($sp)
	lw $t6, 24($sp)
	lw $t7, 28($sp)
	addi $sp, $sp, 32
	move $t0, $v0
	move $a0, $t0
	li $v0, 1
	syscall 	# print_int
	.data
str0: .asciiz " "
	.text
la $t0, str0
	move $a0, $t0
	li $v0, 4
	syscall 	# print_string
	addi $sp, $sp, 0
end_block_4:
	b for_inc_0
for_end_0:
	addi $sp, $sp, 4
end_block_3:
end_func_main:
	jr $ra

